package fr.gest4team.app.pilotage.dao;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import fr.gest4team.app.pilotage.dao.abstrait.AbstractActeurDao;
import fr.gest4team.app.pilotage.dao.interfaces.IActeurDao;
import fr.gest4team.app.pilotage.dto.Acteur;

/**
 * Dao modifiable
 * 
 * @see fr.gest4team.app.pilotage.dto.Acteur
 */
public class ActeurDao extends AbstractActeurDao implements IActeurDao {

    /**
     * @author brug
     * @return retourne la liste des Acteurs.
     */
    public List<Acteur> chargerListeActeur() {
        final DetachedCriteria criteria = DetachedCriteria.forClass(Acteur.class);
        return executeDetachedCriteria(criteria);
    }

    public Acteur findByCode(final String code) {
        final String hql = "from Acteur as a where a.codeActeur=?";
        final List<Acteur> list = executeHqlQuery(hql, new Object[] { code });
        return (list.size() == 1) ? list.get(0) : null;
    }

    public void delete(final String code) {
        final String hql = "delete Acteur as a where a.codeActeur=?";
        getHibernateTemplate().bulkUpdate(hql, code);
    }
}